History of the Hail Expression Writer.
Copyright 2002 by Samuel Stearley

Email:  samuel@nyall.net
http://www.nyall.net



April 29	-> First Beta.  There where some previous alphas.


June 22	-> Second beta.
		-> Large exponants will have brackets placed around them.
		-> Distribution includes an html version of the documentation. I used
			ms word to make it so it is bloated.
		-> Improved string entry.
		-> Fixed a dimesioning bug with the derivative form.
		-> Added spacing option.
		-> Added division spacing option.
		-> Added Ez_greek to it.  This is optional and may be turned on or off.
			By default it is off.
		-> Added matrix support.
		-> Added list support.
		-> Moved a lot of internal data external.
		-> Added diamond + down response.
		-> Crash bugs fixed and more checks are in place.
		-> Many minor perfections.
		-> Integrated a new integer to string routine that is many times
			faster than the built in 0s's routine.  Something like 299!
			only takes about two seconds to calculate and then display.
			If you do this example from the entry line or the other eqw
			the calc takes about 13 seconds on my hw1 to calculate and display.
		-> Math, units, and character menu are now operational.
		-> Small fractions (not division) will be displayed in one line with a '/'
			between the numerator and denominator instead of the other way with
			the horizontal division bar.
		-> Undoing now also remembers the expression that was highlighted.


July 18 	-> Third Beta.
		-> Optomizations: Smaller and Faster.
		-> The spacing variable is now also displayed in the status line with
			the number of undos.
		-> Custom key during normal entry will cycle through the spacing sizes.
		-> More Stable:	Fixed arg swapping bug.
					Fixed bug when adding elements to a null list with
						alpha+right/left.
					Fixed Ocasional end tag Confusion.
		-> Double buffering is faster.
		-> Soft menu is removed during cursor and overview mode.
		-> So I decided to make the soft menu optional.
		-> More stuff is moved external so you will need to update the data file.
		-> Decided to add support for # (indirection), char(, string(, expr(,
			and ord(.


July 		-> Out of beta, going to start version numbers.  This is 0.99
		-> Suport for instring(, format(, setGraph(, setTable(, setMode(,
			setfold(, getUnits(), setunits(, getFolder(), getMode(,
			getkey(), getConfg(), ptTest(, pxlTest( and switch(.

			Some of these will be useless.  But now all extended tags are
			suported.

		-> AMS 2.0x has new tags in it that are the same as existing functions
			from earlier AMS versions except they take multiple arguments:
			deltaList(), variance(), sum(), stddev(), product(), mean().
		-> Fixed an odd bug with some functions that take a fixed number of
			arguments but still require an end_list tag.
		-> Messed with the soft menu.


August 17	-> Version 0.993
		-> Simple detection of implied multiplication when typing will automatically
			throw in the multiplication as you type  eg: type 1.223a and ther
			will be multiplication between "1.223" and "a"
		-> When typing a number I removed the possiblity of a buffer overflow.
			To hit this bug you probably would have had to type a number bigger
			that a couple thousand characters.
		-> More data is external so update the external file.
		-> Found a way to prevent the tios from deleting twin symbols, so calling
			an eqw program that uses the event dispacting loop from a twin-symbol
			version of hail will not result in hail being deleted.

			If hail is deleted then the eqwprogram has nothing to return to, but
			it will still try to return to that nothing.

		-> Fixed a bug that allowed matrixes in matrixes.
		-> Fixed a couple bugs with really large expressions.
		-> Now distributing ppg compressed versions of hail.

			In order for settings to be remembered with the regular version
			and the ppg version those settings will be stored in haildata.
			If haildata is archived those	settings will be locked.

		-> Altered the way tios menus are used.  So now if you have my auto-
			completion tsr (called complete) installed and you hit the units
			key you will get the unit-menu replacement provided by complete.
		-> Switched to the tios catalog.


September 7	-> Version 0.998 
		-> Supports the various inverse trig functions and clock functions
			introduced in Ams 2.08.
		-> Should now be fully AMS localized, the result being that a large
			table in haildata is no longer needed and thus haildata has
			decreased in size by 1700 bytes.
		-> When typing strings you can press something like sin( and have
			sin( placed in the string.
		-> When a user program is executed the currently highlighted expression
			will be stored to the variable: "selected"  This makes it possible
			to have user functions that operate directly on the highlighted
			expression like the function keys do.  There is an included example
			called eqwprgm3.89p that demonstrates this.
		-> Removed possible conflicts with the clock.
		-> 'And' function can now be printed two different ways.  Press MEM
			to toggle between the two.
		-> When moving about a list or matrix it gives you info about which
			element the cursor is on.  If a matrix row is selected it tells
			you which row.  If a matrix element is selected it tells you
			row and column.  If a list element is selected it tells you the
			index of that list element.
		-> Home is now the about/options page.  Mode gives you tios mode box.
		-> Recall now gives you the tios recall dialog box.
			To execute eqwprgmr press diamond +store.  Note that recall is
			2nd + store.
		-> Now distributing hailcom with the .zip.  You use it to communicate
			with hail just like it was the sendText( program distributed with
			eqw by E.W.
		-> There are many additional argument options! Read text for more detail.
		-> Documentation has a new chapter listing the reserved variable names.
		-> There is now an option where you can always be in cursor mode.
			Please read the documentation.
		-> Diamond + apps response which prints approx result of selected expression
			to status line now checks expression for place holders.


October	-> Version 1.00
		-> Fixed a Minor refresh glitch.  Like when using history storage while in
			the temporary cursor mode.
		-> Updated hailcom text file.
		-> New with form.  (The "|" key)
		-> Another eqw program is included.
		-> Fixed a bug in overflow detection.
		-> Fixed a small bug I had in the code to prevent the catalog from crashing.


January	-> Version 1.01
		-> Can now type temperature units.
		-> Low memory option.
		-> Fixed a missing parenthesis bug with implied multiplication detection.
		-> Fixed bug with when using hail from a launcher.  Be that compressed or
			uncompressed.
		-> Fixed a Parenthesis bug with the '|' operator.  It would display
			x+(y|y=4) as x+y|y=4.
		-> Can now use "10^(" and "^-1" from the tios catalog.
		-> A new matrix navigation mode.  Press Diamond + F1 to get into it.
		-> Can now turn the calc off with 2nd+On.
		-> Perfected DMS formating.
		-> Added a signature to external data.
		-> If there are multiple place holders enter will cycle among them.
		-> I am experimenting with my own implimentation (and vastly faster)
			version of the Rom call	Next_Expression_Index.
		-> Better implied multiplication detection with the '.' character.
		-> New feature based on my own clumsiness.  I keep pressing escape when
			I do not want to actually exit.  So the current contents will be
			saved to a variable xsafety.  Restart hail and press Diamond + F2
			to reload from xsafety.


February	-> Version 1.02
		-> Support for the plus/minus combination tags.
		-> Support for the "function prime tag"
		-> Added a nostub comment.  Not that any shell currently supports it...


Jan 2004	-> Version 1.03
		-> Fixed 1 bug.  Picking an extended tag out of the catalog.
		-> When enter is pressed the OS will first free a lot of ram BEFORE it
			tries to store stuff to the clipboard.
		-> The feature where hail displays the row/column data in the status line when a
			matrix element is selected used to be occasionally bad because it could
			destroy status messages before the user had seen them.  (Imagine if an
			element had 0^0 was evaluated the user would see: "Warning: 0^0 replaced
			by 1".  This is only fixed for AMS versions greater than 2.00
		-> If you start the tios mode dialog box it makes sure to remove matrix row/column
			selection text.
		-> The symbol used for the special and formatting is now an official symbol for and:
			the upside down v.


May 2004	-> Version 1.04
		-> Fixed issues with local tags being snuck into expressions after an evaluation.
		-> Source code modifications, in the future there might be an aditional version of
			hail that fits under the 24k limit.
		-> User needs to update hail and haildata.


Sept 2004	-> Version 1.05
		-> There are now restrictions on certain arguments of certain functions that restrict them
			to being a variable name.  Like the 2nd argument of Integrate.
		-> Better support for initial conditions with differential equations. ie f'(0)=0.  There is
			a new part in the documentation to explain this.